func = lambda a, b: a + b
result = func(1, 2)
print(result)

list2 = [1, 2, 3, 4, 5]
result2 = map(lambda a: a ** 2, list2)  # 函数映射到列表每一个元素上，返回map集合的位置
print(result2)  # map集合的位置
print(list(result2))  # 转为序列显示

# reduce累积
from functools import reduce

result3 = reduce(lambda x, y: x + y, list2)  # 累加
print(result3)
result4 = reduce(lambda x, y: x * y, list2)  # 累加
print(result4)

# filter过滤
# 获得奇数
result5 = filter(lambda x: x % 2, list2)  # 累加
print(list(result5))

# 由列表list[1,2,3,40,5,9]获得数1234059
list3 = [1, 2, 3, 40, 5, 9]
result6 = reduce(lambda x, y: x * 10 ** len(str(y)) + y, list3)
print(result6)
print(str(result6))
